V tomto návodu je popsáno, jak připravit počítač a ESP pro první pokusy s Micropythonem. Pokud se účastníte námi pořádaného workshopu nebo jste si sehnali už připravené ESP, velkou část popisu můžete přeskočit.
Celou přípravu jsme rozdělili na tři kroky:
- Příprava počítače (PC s Windows, IOS nebo Linux)
Červená šipka > Do počítače stáhneme nástroj esptool
(python nebo exe) - Instalace Micropythonu do ESP
Fialové šipky > Do počítače stáhneme Micropython a pomocí esptool ho nahrajeme do ESP - Instalace octopus.py
Zelená a oranžová > Pomocí terminálu Putty dokončíme instalaci knihoven v modulu octopus()
3.1 octopus Micropython: pomocí octopus_initial.setup()
3.2 Micropython „vlastní“: pomocí deploy – úplně na konci
Pokud se v našem návodu ztratíte, pro úvodní nastavení a zprovoznění Micropythonu v ESP můžete využít i jiné česky psané návody:
- https://docs.octopuslab.cz/install/ (naše nová stránka)
- chiptron/podpora-micropythonu
- další velmi hezký popis (pro Win, Linux i Mac) je na:
https://naucse.python.cz/course/mi-pyt/intro/micropython/ - nebo máme i něco na úvodní stránce v gitu:
https://github.com/octopusengine/octopuslab/tree/master/esp32-micropython (En) - https://blog.kub1x.org/esp32-on-linux/ od kamaráda Jakuba (En)
- https://boneskull.com/micropython-on-esp32-part-1/ (En)
1. Příprava počítače
Varianta A) by měla být jednodušší, ale když selže – je tu plán B)
Pokud chcete zkusit nejrychlejší verzi bez Pythonu v počítači – stačí pouze do vaší pracovní složky rozbalit exe soubor „esptool.exe„, který si stáhnete zde: https://dl.espressif.com/dl/esptool-2.6.1-windows.zip
Pak ho budete mít uložen například: D:\vas-adresar\esptool.exe
Po odkliknutí se spustí esptool a vypíše nápovědu – a chybovou hlášku o nutnosti dalších parametrů nebo chybová hláška, že není v aktuálním adresáři nainstalován,
Můžete přejít k bodu 2.
Pro pokročilejší či nadšenější
(nebo pro Mac či Linux – kde nelze použít esptool.exe):
Windows:
Nainstatujte si Python3 – hezky popsáno na https://naucse.python.cz/course/pyladies/beginners/install/
Pak je potřeba „do Pythonu“ nainstalovat esptool – nástroj pro komunikaci s ESP (mazání flash a přehrávání firmware – „binárky“ Micropythonu)
> Stiskněte na klávesnici symbol Windows a potom napište „cmd„,
tak se dostanete do příkazového řádku – konzole.
Z konzole se provádí:
> D:\vas-adresar\pip install esptool
(chybová hláška ‚pip‘ is not recognized as an internal or external command,
operable program or batch file.
Znamená, že máte špatně naintalovaný Python nebo nemáte pip – zkuste google: install python3 / pip / pip3)
Linux – instalace
V nově vznikající dokumentaci je to popsánou už lépe: https://docs.octopuslab.cz/install/#gnulinux
Linux – celková detailní příprava:
to, co nutně potřebujete je označeno tučně, většinu běžné Linuxové distribuce to už obsahují.
apt-get install python3 apt-get install python-serial apt-get install python3-pip apt-get install screen pip3 install esptool pip3 install adafruit-ampy Pro přehrávání souborů se používá ampy, ale ten v úvodní části nebudeme používat.
Moduly ESP32
ESP: Mikrokontrolér s WiFi - do začátku postačí "libovolný modul" (pracujeme s ESP32 - Espressif), který připojíme do USB počítače. Nejčastěji využíváme modul 1 - (poznávací znamení 2x15 pinů, pinout níže v textu) Ten tvoří jádro ROBOTboard - desky nejen pro robota, ale i pro první dvě části workshopu "seznámení s IoT a Micropythonem" Modul 2 "Wemos" (2 x 2 x 10 pinů) využíváme v IoTboard. A náš vlastní experimentální ESP32board (pod číslem 3) testujeme pro některé další projekty - a počítáme s ním do budoucna, jako s hlavním modulem.
2. Nahrání Micropythonu do ESP32
V popisu se podrobněji zaměřujeme na Windows, protože Linuxáci jsou s konzolí větší kamarádi.
Stažení Micropythonu
Na vašem disku si připravte adresář, kde budete s Micropythonem pracovat. Například C:\uPy
V našich příkladech uvádíme: D:\vas-adresar
Do D:\vas-adresar\download\ si stáhněte Micropython pro ESP32, můžete i ověřenou a stabilní verzi od nás: https://octopusengine.org/download/micropython/micropython-octopus.bin (do začátku doporučujeme použít naší verzi, jelikož v sobě již obsahuje základ pro prvotní inicializaci systému octopus initial setup a zjednoduší vám další instalaci systému.
Aktuální verze ke stažení od 30 6. 2020 je:
MicroPython v1.12-599-g2be160140-build-octopusLAB on 2020-06-30
Od března 2020 používáme movou verzi SDK: ESP-IDF: v3.3.2
Předchozí verzi ESP-IDF: v3.3.1 už nebudeme podporovat.
Zároveň testujeme i SDK v4.0.+
Detekce připojeného ESP k USB
ESP připojujeme k počítači po virtuální sériové lince (UART) pomocí USB kabelu. Proto je je ještě nutno mít nainstalován ovladač USB to UART Bridge: https://www.pololu.com/docs/0J7/all, Často je ovladač už instalován, hlavně pokud už jste si někdy „hráli“ s Arduinem.
Win10 už s tímto ovladčem nemívá problémy. V Linuxu je potřeba dořešit práva přístupu k portu, podobně v Mac se musí odklikat „Security & Privacy“.
Některé starší modely – například Witty s ESP8266 má jiný převodník CH340G – česky více o tomto potřebném ovladači: https://iotta.cz/ovladace-pro-ch340g/
Musíme „zjistit“ na jakém portu počítače budeme s ESP komunikovat.
To, co je na Linuxu obvykle /dev/ttyUSB0 (zjistíte příkazem: dmesg | tail), bývá u Windows „různější“ – postupně jsou přidělovány porty COM1 až COM-velké-číslo.
Jak zjistíme číslo portu, na kterém máme ESP?
> Připojte modul ESP kabelem k USP portu počítače
> Stiskněte symbol Windows + X
> Vyberte: Správce zařízení
> Rozbalte Porty(COM a LPT) jeden z řádků by mohl být např:
Silicon Labs CP210x USB to UART Bridge (COM6) což znamená, že Windows správně „vidí“ zařízení a „přiřadil“ ho na COM6, a to je přesně to, co nás v tuto chvíli zajímá. (u vás to může být jiný COM, občas to bývá i trochu jiný chip, připojené zařízení poznáte tak, že ho kabelem připojíte – pak odpojíte (ovladač zmizí) – opět připojíte – a měli byste vidět to vaše.
Jak nahrát Micropython do ESP
Buď máte esptool.exe nebo esptool.py a podle toho použijete následující příkazy. Zkontrolujte si: D:\vas-adresar\esptool.exe > spustí esptool a vypíše nápovědu D:\vas-adresar\esptool.py > pokud jste instalovali do Pythonu 1. Nejdříve zcela vymažeme obsah flash paměťi v ESP: D:\vas-adresar\esptool.exe --chip esp32 -p COM6 erase_flash (POZOR! Po odkliknutí se někdy musí chvilku stisknout tlačítko "boot" na Modulu ESP, aby se vůbec připojil) 2. A na volné místo nahrajeme stažený micropython bin. D:\vas-adresar\esptool.exe --chip esp32 -p COM6 write_flash -z 0x1000 ./download/micropython-octopus.bin
3. Instalace „octopus.py“
Sériový terminál pro komunikaci s ESP
V dalším kroku potřebujete terminál (kterým komunikujeme s ESP po sériové lince - "zelená tečkovaná")
Ve Win používáme např putty:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
který se nastaví na:
"serial"
váš COM - např: "COM6"
a přenosovou rychlost: 115200
základní rychlost: 115200
Po spuštění (někdy až po resetu ESP, nebo přerušení programu pomocí ctrl+C) bychom měli vidět něco podobného (verze systému se může lišit):
3.1. Instalace octopus.py a nastavení systému:
octopus_initial.setup()
Modul octopus() obsahuje základní knihovny - naše i třetích stran pod licencí MIT. Pokud jste si nainstalovali naší verzi Micropythonu: micropython-octopus.bin můžete po startu v terminálu napsat: >>> octopus_initial.setup() ============================== S E T U P ============================== [w] - wifi submenu [cw] - connect wifi [cl] - connect LAN [sd] - system download [x] - exit setup ============================== zvolte w [enter] 1. nastavíme wifi: ============================== S E T U P - W I F I ============================== [a] - Add wifi network [r] - Remove wifi network [s] - Show configuration ============================== zvolte a a stiskněte [enter] pro přidání vaší wifi sítě do zařízení (uloží se do flash ESP v config/wifi.json) SSID: název Vaší wifi PASSWORD: a heslo do ní 2. System download - Deploy Po připojení do Internetu se v select setupu napíše: cw [enter] (conect wifi) sd [enter] (system download - from url octopus), které provede stažení TARu z našeho cloudu - vše se do ESP samo nahraje a rozbalí. Průběžně uvidíte všechny soubory (včetně podadresářů).
3.2. Jak nahrát systém octopus do Micropythonu, který není verzí s octopus_initial?
Celý popis je pro přehlednost opět na samostatné stránce:
https://www.octopuslab.cz/micropython-deploy/
Pokud jste si nenainstalovali naší verzi Micropythonu a chcete si nahrát sami aktuální verzi z gitu, postupujte podle staršího návodu: https://www.octopuslab.cz/micropython-octopus-old/
první experimenty z konzole - stačí zadat:
>>> octopus() ,'''`. / \ |(@)(@)| ) ( /,'))((`.\ (( (( )) )) ) \ `)(' / ( Hello, this is basic octopusLAB example (2018/12)
(Press Ctrl+C to abort | CTRL+D to soft reboot)
>>>
Pokud vidíte ASCII chobotnici a prompt „>>>“ – gratulujeme!
Máte systém nastaven. Pro další používání se změnilo to, že je nutno dynamicky doimportovat potrřebné moduly z octopusu – v procesu testů a výuky se dají importovat najednou:
>>> octopus() >>> from utils.octopus import * v kódu programu ale "import *" důrazně nedoporučujeme, tam se vždy uvedou jen nutné knihovny, například: >>> from utils.octopus import w, web_server ...
Pro návody využití ESP32 spolu s Micropythonem slouží samostatná podrobná stránka sw-dokumentace: https://docs.octopuslab.cz/